package com.minhua.jijiehao2.utils

import android.content.Context
import cn.sharesdk.framework.Platform
import cn.sharesdk.framework.PlatformActionListener
import cn.sharesdk.onekeyshare.OnekeyShare
import com.minhua.jijiehao2.R
import com.minhua.jijiehao2.bean.ShareInfoBean
import java.util.*

/**
 * @author moo
 * @date 2017/12/15.
 * @describe
 */

object ShareSdkUtils {

    fun showNetShare(context: Context, shareInfoBean: ShareInfoBean, onShareListener: OnShareListener) {
        val oks = OnekeyShare()
        //关闭sso授权
        oks.disableSSOWhenAuthorize()

        // 分享时Notification的图标和文字  2.5.9以后的版本不     调用此方法
        //oks.setNotification(R.drawable.ic_launcher, getString(R.string.app_name));
        // title标题，印象笔记、邮箱、信息、微信、人人网和QQ空间使用
        oks.setTitle(shareInfoBean.title)
        // titleUrl是标题的网络链接，仅在人人网和QQ空间使用
        oks.setTitleUrl(shareInfoBean.url)
        // text是分享文本，所有平台都需要这个字段
        oks.text = shareInfoBean.text
        // imagePath是图片的本地路径，Linked-In以外的平台都支持此参数
//        oks.setImagePath("/sdcard/test.jpg")//确保SDcard下面存在此张图片
        oks.setImageUrl("http://yqb-h5.oss-cn-hangzhou.aliyuncs.com/image//51.png?Expires=1827199376&OSSAccessKeyId=LTAIQolghqcJSOb4&Signature=MxYfeel%2BUyIzyrCp%2Blmg7qBOtLY%3D")
        // url仅在微信（包括好友和朋友圈）中使用
        oks.setUrl(shareInfoBean.url)
        // comment是我对这条分享的评论，仅在人人网和QQ空间使用
        // site是分享此内容的网站名称，仅在QQ空间使用
        oks.setSite(context.getString(R.string.app_name))
        // siteUrl是分享此内容的网站地址，仅在QQ空间使用
        oks.setSiteUrl(shareInfoBean.url)

        oks.callback = object : PlatformActionListener {
            override fun onComplete(p0: Platform?, p1: Int, p2: HashMap<String, Any>?) {
                onShareListener.onSuccess()
            }

            override fun onCancel(p0: Platform?, p1: Int) {
                T.showShort("分享取消")
            }

            override fun onError(p0: Platform?, p1: Int, p2: Throwable?) {
                T.showShort("分享失败")
            }

        }

        oks.show(context)
    }

    interface OnShareListener {
        fun onSuccess()
    }
}
